// 引入一个工厂函数,(函数的返回值是一个对象的函数)
import { createApp } from 'vue'
// 引入app.vue 根组件
import App1 from './App1.vue'

// 调用createApp 工厂函数 createApp(App) 相当与 vue2 new Vue() 创建了根实例对象

// 导入路由对象,然后将路由对象挂载到了根实例上
import router from '@/router'

// 引入store 实例对象,挂载到根实例上
import store from '@/store'
const app = createApp(App1).use(router).use(store).mount('#app')
    // vue3中的app 是一个proxy 代理对象 相当于 new Vue() 的实例对象
    // 在vue2中,思想将所有的属性和方法挂载绑定到了根实例上(包含需要用的,有很大一部分用不到),导致app 实例对象有些沉重.
    // 在vue3中 proxy 根实例代理代理对象上少了很大一部分属性和方法,这样就轻了很多.这也是一个优化的部分
    // console.log(app);


// // vue2入口文件 main.js
// import Vue from 'vue'
// import App from './App.vue'
// const vm = new Vue({
//     render: h => h(App),
// }).$mount('#app')